package com.lottery.base.dao;

import java.io.Serializable;
import java.util.List;

public interface IBaseDao<E extends Serializable,T extends Serializable> {
	
	/**
	 * 新增
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:16:37
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public T add(E e);
	
	/**
	 * 删除
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:18:41
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public int delete(E e);
	
	/**
	 * 更加主键更新，判断非空
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:18:55
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public int updateByPrimaryKey(E e);

	/**
	 * 更新，不判断值是否为空
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:19:44
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public int updateBySelective(E e);
	
	/**
	 * 主键查询
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:20:07
	 * @version V1.0   
	 * @param id
	 * @return
	 */
	public E getEntityById(String id);
	
	/**
	 * 条件查询 
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:22:02
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public List<E> getEntityByBean(E e);
	
	/**
	 * 分页查询
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:22:15
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public List<E> getEntityByPage(E e);
	
	/**
	 * 查询记录数
	 * @author LIKANGDA934
	 * @date 2017年2月22日 下午3:22:29
	 * @version V1.0   
	 * @param e
	 * @return
	 */
	public int getRecordCount(E e);

}
